package com.huawei;

import java.util.Scanner;


/**
 * 一、密码长度:
 * 5 分: 小于等于4 个字符
 * 10 分: 5 到7 字符
 * 25 分: 大于等于8 个字符
 * 二、字母:
 * 0 分: 没有字母
 * 10 分: 密码里的字母全都是小（大）写字母
 * 20 分: 密码里的字母符合”大小写混合“
 * 三、数字:
 * 0 分: 没有数字
 * 10 分: 1 个数字
 * 20 分: 大于1 个数字
 * 四、符号:
 * 0 分: 没有符号
 * 10 分: 1 个符号
 * 25 分: 大于1 个符号
 * 五、奖励（只能选符合最多的那一种奖励）:
 * 2 分: 字母和数字
 * 3 分: 字母、数字和符号
 * 5 分: 大小写字母、数字和符号
 *
 * 分析：
 * 1.写成4个方法吧，第5个条件不写成方法
 * 2.很简单，但是我很粗心，调了几次才通过
 */
public class HJ087 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String input = scanner.nextLine();

        char[] arr = input.toCharArray();
        int lengthCore = getLengthCore(arr);
        int letterCore = getLetterCore(arr);
        int digitCore = getDigitCore(arr);
        int symbolCore = getSymbolCore(arr);
        int awardScore = getAwardScore(letterCore, digitCore, symbolCore);

        int score = lengthCore+letterCore+digitCore+symbolCore+awardScore;
        String translate = translate(score);
        System.out.println(translate);


    }

    public static String translate(int score){
        if (score>=90) {
            return "VERY_SECURE";
        }else if(score>=80){
            return "SECURE";
        }else if(score>=70){
            return "VERY_STRONG";
        }else if(score>=60){
            return "STRONG";
        }else if(score>=50){
            return "AVERAGE";
        }else if(score>=25){
            return "WEAK";
        }

        return "VERY_WEAK";
    }


    public static int getLengthCore(char[] arr){
        if (arr.length >= 8) {
            return 25;
        }else if(arr.length>=5){
            return 10;
        }else{
            return 5;
        }
    }

    public static int getLetterCore(char[] arr){
        boolean upFlag = false;
        boolean lowFlag = false;
        for (char c : arr) {
            if (Character.isUpperCase(c)) {
                upFlag = true;
            }
            if (Character.isLowerCase(c)) {
                lowFlag =true;
            }

        }
        if(upFlag&&lowFlag){
            return 20;
        }else if(upFlag || lowFlag){
            return 10;
        }else{
            return 0;
        }
    }

    public static int getDigitCore(char[] arr){
        int digitCount = 0;
        for (char c : arr) {
            if (Character.isDigit(c)) {
                digitCount++;
            }
        }
        if(digitCount >= 2){
            return 20;
        }else if(digitCount == 1){
            return 10;
        }else{
            return 0;
        }
    }

    public static int getSymbolCore(char[] arr){
        int symbolCount = 0;
        for (char c : arr) {
            if (!Character.isLetterOrDigit(c)) {
                symbolCount++;
            }
        }
        if(symbolCount >= 2){
            return 25;
        }else if(symbolCount == 1){
            return 10;
        }else{
            return 0;
        }
    }

    public static int getAwardScore(int letterScore,int digitScore,int symbolScore){
        if(letterScore >0 && digitScore>0 && symbolScore>0){
            if(letterScore==20){
                return 5;
            }
            return 3;
        }
        if(letterScore >0 && digitScore>0){
            return 2;
        }
        return 0;
    }
}
